Auto-discovery of home and out-of-franchise networks

ABSTRACT

A mobile device includes a mobile network module to present media content using a public network and a home network module to present media content from a home network. The mobile device uses the mobile network module to receive a media streaming session via a broadband cellular connection and detects a local wireless connection to a device in a home network. The mobile device uses the home network module to initiate, via the local wireless connection, a home media session with the device in the home network and matches content of the home media session with content of the media streaming session. The mobile device presents, to a user and using the home network module, the matched content of the home media session and disables the media streaming session.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.12/975,919, filed Dec. 22, 2010, the disclosure of which is incorporatedby reference herein in its entirety.

BACKGROUND

Mobile devices within home networks may connect to an access network toreceive managed services (e.g., such as multimedia content provided witha guaranteed quality of service (QoS)) via a closed content distributionchannel. The closed content distribution channel may be implementedthrough a subscription multimedia service providing wired network accessto the home network through, for example a gateway, a home router, or alocal set-top box.

When a user leaves the home network area, the mobile devices may rely ona cellular broadband network (e.g., a 3G, 4G, or another cellularbroadband-type network) to provide services. The cellular broadbandnetwork may be referred to as an out-of-franchise network (OOF) network.While offering improvements over earlier generations of wirelessnetworks, available bandwidth for today's cellular broadband networksremains lower than those available in a home network with wiredconnectivity. Thus, while full-featured services may be available via ahome network, mobile devices using a cellular broadband networktypically receive content that is “optimized” for the mobile experience(e.g., lower quality video, stripped-down graphical user interfaces,etc.).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an example network in which systems and/ormethods described herein may be implemented;

FIG. 2 is a diagram of example components of a device that maycorrespond to one of the devices of the network depicted in FIG. 1;

FIGS. 3A-3C are diagrams of example functional components of a mobiledevice depicted in FIG. 1;

FIGS. 4A and 4B are diagrams of additional further example functionalcomponents of the mobile device depicted in FIG. 1;

FIG. 5 is a diagram of example functional components of a mediaclient/digital video recorder (DVR) depicted in FIG. 1;

FIGS. 6-8 are flow charts of an example process for performing dynamicservice discovery according to an implementation described herein; and

FIG. 9 is a flow chart of an example process for providing home networkcontent to a mobile device according to an implementation describedherein.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements.

Systems and/or methods described herein may enable a mobile device todetect, and adapt operation modes, to provide higher quality servicesassociated with a home network, in contrast with services providedthrough an out-of-franchise network. The mobile device may include aunified client that can play multimedia content (e.g., including videocontent) in a full-featured mode provided via the home network and in amobile mode via an out-of-franchise network. In one implementation, themobile device may automatically discover a home network service whereveravailable and may switch operation modes to provide the improvedservices (e.g., for the same content) available via the home network.Additionally, the mobile device may automatically detect the loss of thelocal wireless connection and may automatically return to streaming thesame content through the out-of-franchise network.

In one implementation, a mobile device may include a mobile networkmodule to present media content using a public network and a homenetwork module to present media content from a home network. The mobiledevice may use the mobile network module to receive a media streamingsession via a broadband cellular connection (e.g., a 3G or 4G networkconnection) and, later, may detect a local wireless connection (e.g., anIEEE 802.11 Wi-Fi connection) to a device, such as a digital videorecorder (DVR), in a home network. The mobile device may use the homenetwork module initiate, via the local wireless connection, a home mediasession with the device in the home network and may match content of thehome media session to the content of the media streaming session. Themobile device may then present, to a user, the matched content of thehome media session using the home network module and may disable themobile network module and the media streaming session (e.g., from thebroadband cellular connection).

As used herein, the term “user” is intended to be broadly interpreted toinclude a mobile device or a user of a mobile device.

FIG. 1 is a diagram of an example network 100 in which systems and/ormethods described herein may be implemented. As illustrated, network 100may include a mobile device 110, a home network 120, an access network130, a content delivery network 140, a radio access network (RAN) 150,and a public network 160. Home network 120 may include a mediaclient/DVR 122, a home router 124, and a display device 126. Contentdelivery network 140 may include a content server 142 and a streamingserver 144. RAN 150 may include a base station 152.

Components of network 100 may interconnect via wired and/or wirelessconnections or links. A single mobile device 110, home network 120,media client/DVR 122, home router 124, display device 126, accessnetwork 130, content delivery network 140, content server 142, streamingserver 144, RAN 150, base station 152, and public network 160 have beenillustrated in FIG. 1 for simplicity. In practice, there may be moremobile devices 110, home networks 120, media client/DVRs 122, homerouters 124, display devices 126, access networks 130, content deliverynetworks 140, content servers 142, streaming servers 144, radio RANs150, base stations 152, and/or public networks 160.

Mobile device 110 may include a device capable of transmitting andreceiving data (e.g., voice, text, images, and/or multimedia data) viahome router 122 and over RAN 150. For example, mobile device 110 may bea self-contained data device, such as a mobile telephone, a smart phone,an electronic notepad, a personal digital assistant (PDA), a tablet (or“pad”) computer, a laptop computer (e.g., with a wireless air card), aportable gaming device, or other types of computation or communicationdevices. Mobile device 110 may establish wireless communication sessionswith home router 122 and/or base station 152 using different protocols.For example, mobile device 110 may connect to home router 122 using aWi-Fi network (e.g., using IEEE 802.11 standards) and may connect tobase station 152 using RAN 150 (e.g., using a broadband cellular networkstandard).

As described further herein mobile device 110 may also include multipleplayer modules (e.g., multimedia player applications and otherassociated applications). One of the player modules may play Internetprotocol (IP) streaming content (e.g., content that continuously playsearly in a download process without requiring a complete download inorder to play content). Another player module may play richer content,such as content from home network 120 distributed using RVU protocols.

Home network 120 may include one or more devices connected to eachother, and/or access network 130. Devices in home network 120 mayinclude, for example, one or more set-top boxes (e.g., media client/DVR122), local routers (e.g., local router 124), televisions (e.g., displaydevice 126), personal computers, and/or mobile devices (e.g., mobiledevice 110). Home network 120 may also include other networkingequipment and/or devices, such as additional media storage devices, alocal gateway, cables, splitters, etc. (not shown). In animplementation, home network 120 may connect to content delivery network140 (e.g., via access network 130) via a closed content distributionchannel. The closed content distribution channel may include, forexample, cable, optical fiber, satellite, or virtual private networks.In one implementation, home network 120 may receive video content andGUI information from content delivery network 140 via the closed contentdistribution channel.

Media client/DVR 122 may include any device capable of receiving,transmitting and/or processing information to and/or from access network130. In one implementation, media client/DVR 122 may be a closed device(e.g., including a hardware/software configuration that is notaccessible to the general public). Media client/DVR 122 may includedecoding and/or decryption capabilities and may provide video signals todisplay device 126 and/or mobile device 110. Media client/DVR 122 mayfurther include 3G DVR functionality, such as Wi-Fi connectivity. Mediaclient/DVR 122 may be capable of sending data to and/or receiving datafrom mobile device 110, content server 142, other media clients 122,and/or other devices in home network 120. For example, media client/DVR122 may be a RVU-compatible server to deliver multimedia within homenetwork 120.

Local router 124 may include a device that acts as a wireless accesspoint that employs one or more short-range wireless communicationprotocols for a wireless local area network (WLAN) and/or a wirelesspersonal area network (WPAN). In one implementation, local router 124may use an IEEE 802.11g/n (e.g., Wi-Fi) protocol and/or an IEEE 802.15(e.g., Bluetooth) protocol. In another implementation, local router 124may use a different short-range wireless protocol and/or a different setof frequencies. Local router 124 may provide connectivity betweenequipment within home network 120 and between the home network 120 andan external network (e.g., access network 130), and may also include oneor more wired (e.g., Ethernet, TIA Cat 3 cable, etc.) connections. Inone implementation, functions of media client/DVR 122 and local router124 may be combined.

Display device 126 may include any device capable of receiving andreproducing video signals. In one implementation, display device 126 mayinclude a television. In another implementation, display device 126 mayinclude, for example, a display of a stationary communication device(e.g., a computer monitor or a telephone), or a display of a portablecommunication device (e.g., a mobile telephone or a PDA).

Access network 130 may provide customers with multimedia contentprovided, for example, by content delivery network 140. Generally,access network 130 may provide superior connection speeds (and, thus,potential for higher quality services) when compared to RAN 150. Accessnetwork 130 may include a local area network (LAN), a wide area network(WAN), such as a cellular network, a satellite network, a fiber opticnetwork, a private WAN, or a combination of the Internet and a privateWAN, etc. that is used to transport data. Although shown as a singleelement in FIG. 1, access network 130 may include a number of separatenetworks that function to provide services to home network 120. In oneimplementation, access network 130 may terminate at home network 120 viaan optical communication link, such as an optical fiber provided to homenetwork 120. In another possible implementation, access network 130 mayterminate at home network 120 via a coaxial cable. In still anotherimplementation, access network 130 may terminate at home network 120 viaa wireless (e.g., satellite) connection.

Content delivery network 140 may include a network-based storage cloudof content, such as broadcast television content, personal videocontent, public video content, and/or other multimedia content. Contentdelivery network 140 may include a computer system, a cable head-end,and/or a broadcasting device capable of providing video content in avariety of formats, instructions, and/or other information. Contentdelivery network 140 may include, for example, one or more servers(e.g., content server 142) and/or databases to temporarily store andprovide content that is the subject of a content request from mediaclient/DVR 122 and/or mobile device 110. Content delivery network 140may also include one or more transcoding servers that may transcode (orconvert) video content to a format that mobile device 110 may utilize(e.g., playback).

Content server 142 may include one or more server devices, or othertypes of computation or communication devices, that gather, process,search, and/or provide information in a manner described herein. In oneimplementation, content server 142 may include a computer system, aserver device, a cable head-end, and/or a broadcasting device capable ofproviding data (e.g., video content, applications, file downloads,advertising, instructions, images, voice content (e.g., voice over IP(VoIP)), application data, and/or other information) to mobile device110 (e.g., via media client/DVR 122 and/or local router 124).

Streaming server 144 may include a server device, such as a computerdevice, and/or a network device, such as a router, that providesstreaming data packets to mobile device 110 (e.g., when mobile device110 is connected to RAN 150). Streaming server 144 may include multipledevices (e.g., where each device supports multiple video streams) thatare capable of communicating with mobile device 110 (e.g., via RAN 150)and with the Internet (e.g., public network 160). In one implementation,after mobile device 110 is authenticated, streaming server 144 maysecurely stream video content (e.g., a streaming uniform resourcelocator (URL)) directly to mobile device 110. Streaming server 144 mayreceive a request for streaming content from mobile device 110 and maycontinue to provide streaming content to mobile device 110 untilparticular requested content is received or mobile device 110 terminatesa connection with streaming server 144.

RAN 150 may include one or more devices for transmitting voice and/ordata to mobile device 110 and public network 160. In one exampleimplementation, RAN 150 may include a group of base stations (e.g., basestation 152) and a group of radio network controllers (not shown). Inone example, RAN 150 may provide a wireless access network for mobiledevice 110. The wireless access network may correspond to a broadbandcellular network, such as a long-term evolution (LTE) network, anenhanced high-rate packet data (eHRPD) network, a WiMax network, etc.

Base station 152 (also referred to as a “Node B”) may include one ormore devices that receive voice and/or data from RAN 150 and transmitthat voice and/or data to mobile device 110 via an air interface. Basestation 152 may also include one or more devices that receive voiceand/or data from mobile device 110 over an air interface and transmitthat voice and/or data to RAN 150 or other mobile devices 110.

Public network 160 may include a WAN, an intranet, a telephone network(e.g., the Public Switched Telephone Network), or a combination ofnetworks. Public network 160 may include, for example, an untrustednetwork, such as the Internet. Public network 160 may further includetransport and/or network devices such as routers, switches, and/orfirewalls.

In an implementation described herein, mobile device 110 may includecapabilities to automatically discover a home network service whenevermobile device is within range of a signal (e.g., from local router 124)from home network 120. If mobile device 110 discovers the home networkservice, mobile device 110 may default to using a WLAN signal from localrouter 124 to receive full-featured content from content deliverynetwork 140 (e.g., via access network 130). Mobile device 110 mayactivate a RVU module to present (e.g., play) the full-featured contentfrom content delivery network 140. If mobile device 110 is receivingvideo content out-of-franchise (e.g., from content delivery network 140via RAN 150) at the time mobile device 110 discovers the home networkservice, mobile device 110 may exchange information with mediaclient/DVR 122 to tune to the same programming the user was watching(via RAN 150) except through home network 120 with a higher qualityvideo services. For example, media client/DVR 122 may providehigh-definition (HD) programming to mobile device 110 for video contentthat was being provided as standard definition over RAN 150.

Although FIG. 1 shows example components of network 100, in otherimplementations, network 100 may include fewer components, differentcomponents, differently arranged components, and/or additionalcomponents than those depicted in FIG. 1. Alternatively, oradditionally, one or more components of network 100 may perform one ormore other tasks described as being performed by one or more othercomponents of network 100.

FIG. 2 is a diagram of example components of a device 200 that maycorrespond to one or more of mobile device 110, media client/DVR 122,content server 142, and streaming server 144. Each of mobile device 110,media client/DVR 122, content server 142, and streaming server 144 mayinclude one or more device 200. As illustrated, device 200 may include abus 210, a processing unit 220, a memory 230, an input device 240, anoutput device 250, and a communication interface 260.

Bus 210 may permit communication among the components of device 200.Processing unit 220 may include one or more processors ormicroprocessors that interpret and execute instructions. In otherimplementations, processing unit 220 may be implemented as or includeone or more application specific integrated circuits (ASICs), fieldprogrammable gate arrays (FPGAs), or the like.

Memory 230 may include a random access memory (RAM) or another type ofdynamic storage device that stores information and instructions forexecution by processing unit 220, a read only memory (ROM) or anothertype of static storage device that stores static information andinstructions for the processing unit 220, and/or some other type ofmagnetic or optical recording medium and its corresponding drive forstoring information and/or instructions.

Input device 240 may include a device that permits an operator to inputinformation to device 200, such as a keyboard, a keypad, a mouse, a pen,a microphone, one or more biometric mechanisms, or the like. Outputdevice 250 may include a device that outputs information to theoperator, such as a display, a speaker, etc.

Communication interface 260 may include any transceiver-like mechanismthat enables device 200 to communicate with other devices and/orsystems. For example, communication interface 360 may include mechanismsfor communicating with other devices, such as other devices of network100.

As described herein, device 200 may perform certain operations inresponse to processing unit 220 executing software instructionscontained in a computer-readable medium, such as memory 230. Acomputer-readable medium may be defined as a non-transitory memorydevice. A memory device may include space within a single physicalmemory device or spread across multiple physical memory devices. Thesoftware instructions may be read into memory 230 from anothercomputer-readable medium or from another device via communicationinterface 260. The software instructions contained in memory 230 maycause processing unit 220 to perform processes described herein.Alternatively, hardwired circuitry may be used in place of or incombination with software instructions to implement processes describedherein. Thus, implementations described herein are not limited to anyspecific combination of hardware circuitry and software.

Although FIG. 2 shows example components of device 200, in otherimplementations, device 200 may include fewer components, differentcomponents, differently arranged components, or additional componentsthan depicted in FIG. 2. Alternatively, or additionally, one or morecomponents of device 200 may perform one or more other tasks describedas being performed by one or more other components of device 200.

FIGS. 3A-3C are diagrams of example functional components of mobiledevice 110. In one implementation, the functions described in connectionwith FIGS. 3A-3C may be performed by one or more components of device200 (FIG. 2). As illustrated, mobile device 110 may include a homenetwork module 310, an out-of-franchise (00F) module 320, and a moduleactivator 330.

Referring to FIG. 3A, home network module 310 may include hardware or acombination of hardware and software to present video content providedthrough media client/DVR 122. In one implementation, home network module310 may include one or more applications to present high quality videoand/or services on mobile device 110. For example, home network module310 may include a RVU client, a Digital Transmission ContentProtection/Internet Protocol (DTCP/IP) component, a Digital LivingNetwork Alliance (DLNA) component, and/or a Universal Plug and Play(UPnP) component to implement RVU protocols (e.g., as established by theRVU Alliance). Generally, RVU protocols may allow mobile device 110 toreceive a pixel accurate display of a user interface and video contentavailable to media client/DVR 122 (and typically presented on displaydevice 126). In other implementations, home network module 310 may useother standards/protocols to present high quality video and/or serviceson mobile device 110. The DTCP/IP component may provide digital rightsmanagement and protection against unauthorized copying. The DLNAcomponent and the UPnP enable device-to-device interoperability withinhome network 120.

Out-of-franchise (00F) module 320 (also referred to as a mobile networkmodule) may include hardware or a combination of hardware and softwareto present IP streaming video provided via RAN 150. In oneimplementation, out-of-franchise module 320 may include one or moreapplications to present streaming video and/or services on mobile device110. For example, out-of-franchise module 320 may include an adaptivestreaming client, a HTML display interface, and a Digital RightsManagement (DRM) component. The adaptive streaming client may include amedia player that plays streaming content. The HTML display interfacemay include an interface to present interactive menus to select videocontent, and the DRM component may provide digital rights management andprotection against unauthorized copying of the video content.Out-of-franchise module 320 may access content delivery network 140 viaRAN 150 and public network 160 to request video content. Streamingserver 144 may provide a streaming URL to user device 110. User device110 may receive the streaming URL, and may begin streaming from the URLusing out-of-franchise module 320. The streaming URL may be exposed topublic network 160 (e.g., the Internet) and RAN 120, which may limit thequality of services able to be provide via the streaming URL.

Module activator 330 may include hardware or a combination of hardwareand software to selectively activate home network module 310 andout-of-franchise module 320 based on the type of video service availableto mobile device 110. For example, as shown in FIG. 3B, module activator330 may activate home network module 310 and place out-of-franchisemodule 320 in a dormant mode when mobile device 110 is able to receiveservices from home network 120. Conversely, as shown in FIG. 3C, moduleactivator 330 may activate out-of-franchise module 320 and place homenetwork module 310 in a dormant mode when mobile device 110 is only ableto receive services via a public interface (e.g., using RAN 150).

Although FIGS. 3A-3C show example functional components of mobile device110, in other implementations, mobile device 110 may contain fewerfunctional components, different functional components, differentlyarranged functional components, or additional functional components thandepicted in FIG. 3. Alternatively, or additionally, one or morefunctional components of mobile device 110 may perform one or more othertasks described as being performed by one or more other functionalcomponents of mobile device 110.

FIGS. 4A and 4B are diagrams of additional example functional componentsof mobile device 110. In one implementation, the functions described inconnection with FIGS. 4A and 4B may be performed by one or morecomponents of device 200 (FIG. 2). As shown in FIGS. 4A and 4B, mobiledevice may include home network module 310, out-of-franchise module 320,module activator 330, a Wi-Fi interface 400, a cellular broadbandinterface 405, an interface monitor 410, and a movement control module415. Home network module 310, out-of-franchise module 320, and moduleactivator 330 may include the features described above in connectionwith, for example, FIGS. 3A-3C.

Wi-Fi interface 400 may include a communications interface (e.g.,communication interface 260) using conventional protocols to enable atwo-way Wi-Fi connection. In one implementation, Wi-Fi interface 400 mayreceive a discovery signal from media player/DVR 122 and/or local router124 to allow Wi-Fi interface 400 to identify home network 120. In oneimplementation, the discovery signal may include proprietary protocolsto identify media player/DVR 122 and/or local router 124 as beingassociated with home network 120 for purposes of enabling mobile device110 to send/receive signals from media player/DVR 122 and/or localrouter 124. In other implementations, Wi-Fi interface 400 may includeanother short-range wireless communication interface, such as aBluetooth interface.

Cellular broadband interface 405 may include a communications interface(e.g., communication interface 260) using conventional protocols toenable a two-way cellular broadband connection. Cellular broadbandinterface 405 may implement for example LTE, eHRPD, and/or WiMaxstandards.

Interface monitor 410 may determine if Wi-Fi interface 400 has aconnection to home network 120 and/or if cellular broadband interface405 has an out-of-franchise connection. Interface monitor 410 may alsoprovide instructions to movement control module 415 to change aconnection (e.g., for receiving video content) based on a determinationof an available connection.

As shown in FIG. 4A, interface monitor 410 may detect home networkavailability 425 from Wi-Fi interface 400. For example, Wi-Fi interface400 may report discovery signals (e.g., received from media player/DVR122 and/or local router 124) or an existing Wi-Fi connection tointerface monitor 410. Interface monitor 410 may also detect a 3G/4Gconnection 430 from cellular broadband interface 405. Assume in FIG. 4A,that mobile device 110 is using an existing 3G/4G connection to presentstreaming video to a user. Based on detection of home networkavailability 425, interface monitor 410 may provide a connection changesignal 435 to movement control module 415.

Movement control module 415 may receive connection change signal 435 andmay establish a connection (if necessary) with a content provider. Forexample, if a device in home network 120 (e.g., media player/DVR 122and/or local router 124) is discovered, but not connected, movementcontrol module 415 may automatically initiate a Wi-Fi connection withhome network 120. Movement control module 415 may also provideinformation to effect a seamless transition (e.g., for the user) fromviewing video content via cellular broadband interface 405 to viewingthe video content via Wi-Fi interface 400 and home network 120. Forexample, as shown in FIG. 4A, movement control module 415 may send stateinformation 440 to a home network device (e.g., media player/DVR 122and/or local router 124). State information 440 may be in the form of acookie that contains information regarding where the mobile terminal 110(e.g., out-of-franchise module 320) is in terms of user experience,channel being watched, etc.

Movement control module 415 may receive, from the home network device,transition information 445. For example, based on state information 440,media player/DVR 122 and/or local router 124 may provide transitioninformation 445. Transition information 445 may include, for example, achannel identifier to tune to the home network or a particular GUI todisplay (e.g., that corresponds to a channel and/or GUI in stateinformation 440). Movement control module 415 may provide transitioninformation 445 to player module activator and may provide instructionsto initiate a switch (e.g., from out-of-franchise module 320 to homenetwork module 310), as indicated by reference number 450.

Module activator 330 may selectively activate/deactivate home networkmodule 310 and out-of-franchise module 320 based on instructions frommovement control module 415. Module activator 330 may receive transitioninformation 445 and initiate switch signal 450. Based on signals445/450, module activator 330 may activate home network module 310 tobegin receiving video content from home network 120 (e.g., via Wi-Fiinterface 400) on the channel previously being streamed byout-of-franchise module 320. In conjunction with activating home networkmodule 310, module activator 330 may also disable out-of-franchisemodule 320, as indicated by reference number 455. For example, moduleactivator 330 may disable out-of-franchise module 320 when home networkmodule 310 begins to receive video content.

Referring to FIG. 4B, assume a user leaves the area of home network 120and a Wi-Fi connection with home network 120 is lost. As shown in FIG.4B, interface monitor 410 may detect a lost connection 460 from Wi-Fiinterface 400. Interface monitor 410 may also detect (or continue todetect) 3G/4G connection 430 from cellular broadband interface 405.Based on detection of lost connection 460, interface monitor 410 mayprovide a connection change signal 465 to movement control module 415.

Movement control module 415 may receive connection change signal 465 andmay establish a connection (if necessary) with content delivery network140 (e.g., content server 142). In one implementation, movement controlmodule 415 may also provide information to effect a seamless transition(e.g., for the user) from viewing video content via Wi-Fi interface 400to viewing the video content via cellular broadband interface 405. Forexample, as shown in FIG. 4B, movement control module 415 may send stateinformation 470 to content delivery network 140 (e.g., content server142 and/or streaming server 144). State information 470 may be in theform of a cookie that contains information regarding where the mobileterminal 110 (e.g., home network module 310) is in terms of userexperience, channel being watched, etc.

Movement control module 415 may receive, from content delivery network140, transition information 475. For example, based on state information470, content server 142 and/or streaming server 144 may providetransition information 475. Transition information 475 may include, forexample, a URL to select from content delivery network 140 or aparticular GUI to display (e.g., that corresponds to a channel and/orGUI in state information 470). Movement control module 415 may providetransition information 475 to player module activator and may provideinstructions to initiate a switch (e.g., from home network module 310 toout-of-franchise module 320), as indicated by reference number 480.

Module activator 330 may receive transition information 475 and initiateswitch signal 480 and may activate out-of-franchise module 320 to beginreceiving video content from content delivery network 140 (e.g., viacellular broadband interface 405) on the channel previously being viewedvia Wi-Fi interface 400. In conjunction with activating out-of-franchisemodule 320, module activator 330 may also disable home network module310, as indicated by reference number 485.

Although FIGS. 4A and 4B show example functional components of mobiledevice 110, in other implementations, mobile device 110 may includefewer functional components, different functional components,differently arranged functional components, and/or additional functionalcomponents than depicted in FIGS. 4A and 4B. Alternatively, oradditionally, one or more functional components of mobile device 110shown in FIGS. 4A-4B may perform one or more other tasks described asbeing performed by one or more other functional components of mobiledevice 110 shown in FIGS. 4A and 4B.

FIG. 5 is a diagram of example functional components of a device 500that may correspond to, for example, media client/DVR 122. In oneimplementation, the functions described in connection with FIG. 5 may beperformed by one or more components of device 200 (FIG. 2). As shown inFIG. 5, device 500 may include a connection manger 510 and a videodelivery module 520.

Connection manager 510 may receive information from mobile device 110and may provide the information to mobile device 110 to allow a seamlesstransition (e.g., for the user) from viewing video content via cellularbroadband interface 405 to viewing video content via Wi-Fi interface 400and home network 120. For example, connection manager 510 may receivestate information 440 from mobile device 110 that indicates a currentchannel, GUI, and/or other information currently being presented onmobile device 110. Connection manager 510 may translate stateinformation 440 into information that may be used by mobile device 110to switch to equivalent content (e.g., with higher quality) from homenetwork 120. For example, connection manager 510 may perform a channelmatching procedure to match the URL of a video stream (e.g., included instate information 440) with a particular channel associated with mediaplayer/DVR 122. Connection manager 510 may provide the translated stateinformation back to mobile device 110 as transition information 445.

Based on transition information 445, connection manager 510 may receive,from mobile device 110, content request 530 to provide content to mobiledevice 110. Content request 530 may include, for example, a particularchannel to tune to and/or a particular GUI to display. Connectionmanager 510 may provide content request 530 to video delivery module520.

Video delivery module 520 may provide video content to mobile device 110(e.g., via a Wi-Fi connection). In one implementation, video deliverymodule 520 may function as a RVU-compliant media server. For example,video delivery module 520 may provide high resolution video content tomobile device 110 and/or may provide a user guide experience specific tothe look and feel of a home network television display. Video deliverymodule 520 may receive content request 530 and may provide the requestedcontent to mobile device 110, as indicated by reference number 540.

Although FIG. 5 shows example functional components of media player/DVR122, in other implementations, media player/DVR 122 may include fewerfunctional components, different functional components, differentlyarranged functional components, and/or additional functional componentsthan depicted in FIG. 5. Alternatively, or additionally, one or morefunctional components of media player/DVR 122 may perform one or moreother tasks described as being performed by one or more other functionalcomponents of media player/DVR 122.

FIGS. 6-8 are flow charts of an example process 600 for performingdynamic service discovery according to an implementation describedherein. In one example implementation, process 600 may be performed bymobile device 110. In another implementation, some or all of process 600may be performed by mobile device 110 in conjunction with, for example,media player/DVR 122.

Process 600 may include establishing a multimedia session via a cellularbroadband connection (block 610), monitoring a wireless connection forhome network connectivity (block 620), and determining if there is anavailable local connection to the home network (block 630). For example,as described above in connection with FIG. 4A, mobile device 110 may usean existing 3G/4G connection to present streaming video to a user.Mobile device 110 (e.g., interface monitor 410) may determine if Wi-Fiinterface 400 has a connection to home network 120 and/or if cellularbroadband interface 405 has an out-of-franchise connection.

If there is an available local connection to the home network (block630—YES), process 600 may include performing a settings change toconduct the multimedia session via the home network (block 640), anddisabling the multimedia session via the cellular broadband connection(block 650). For example, as described above in connection with FIG. 4A,mobile device 110 (e.g., interface monitor 410) may detect home networkavailability 425 from Wi-Fi interface 400. Wi-Fi interface 400 may, forexample, report discovery signals (e.g., received from media player/DVR122 and/or local router 124) or an existing Wi-Fi connection tointerface monitor 410. Based on detection of home network availability425, interface monitor 410 may provide a connection change signal 435 tomovement control module 415 to switch the existing 3G/4G-based videosession to a home network-based video session.

If there is not an available local connection to the home network (block630—NO), process 600 may include continuing and/or reestablishing themultimedia session via the cellular broadband connection (block 660).For example, mobile device 110 may continue the existing 3G/4G-basedvideo session as long as no local connection to home network 120 isavailable. Also, if the 3G/4G-based video session was previouslyterminated (e.g., by actions of mobile device 110 to switch to the localhome network connection), mobile device 110 (e.g., out-of-franchisemodule 320) may reestablish a 3G/4G-based connection.

Process block 640 may include the process blocks depicted in FIG. 7. Asshown in FIG. 7, process block 640 may include sending state informationto a home network device (block 710), receiving transition informationfrom the home network device (block 720), tuning to a matching channelfrom the multimedia session (block 730), and presenting the multimediacontent from the home network device (block 740). For example, asdescribed above in connection with FIG. 4A, mobile device 110 (e.g.,movement control module 415) may send state information 440 to a homenetwork device (e.g., media player/DVR 122 and/or local router 124).State information 440 may include information regarding where the mobileterminal 110 (e.g., out-of-franchise module 320) is in terms of userexperience, channel being watched, etc. Movement control module 415 mayreceive, from the home network device, transition information 445, suchas a channel identifier to tune to on the home network or a particularGUI to display (e.g., that corresponds to a channel and/or GUI in stateinformation 440). Module activator 330 may activate home network module310 to begin receiving video content from home network 120 (e.g., viaWi-Fi interface 400) on the channel previously being streamed byout-of-franchise module 320. In conjunction with activating home networkmodule 310, module activator 330 may also disable out-of-franchisemodule 320, as indicated by reference number 455.

Process block 660 may include the process blocks depicted in FIG. 8. Asshown in FIG. 8, process block 660 may include sending state informationto a content delivery network (block 810), receiving transitioninformation from the content delivery network (block 820), requestingmultimedia content using a URL match of the current home network channel(block 830), presenting the multimedia content from the content deliverynetwork (block 840), and disabling the home network module (block 850).For example, as described above in connection with FIG. 4B, mobiledevice 110 (e.g., interface monitor 410) may provide a connection changesignal 465 to movement control module 415. Movement control module 415may receive connection change signal 465 and may provide stateinformation 470 to content delivery network 140 (e.g., content server142 and/or streaming server 144). State information 470 may includeinformation regarding where the mobile terminal 110 (e.g., home networkmodule 310) is in terms of user experience, channel being watched, etc.Movement control module 415 may receive, from content delivery network140, transition information 475 that may include, for example, a URL toselect from content delivery network 140 or a particular GUI to display(e.g., that corresponds to a channel and/or GUI in state information470). Module activator 440 may activate out-of-franchise module 320 tobegin receiving video content from content delivery network 140 (e.g.,via cellular broadband interface 405) on the channel previously beingviewed by Wi-Fi interface 400. In conjunction with activatingout-of-franchise module 320, module activator 330 may also disable homenetwork module 310, as indicated by reference number 485.

FIG. 9 is a flow chart of an example process 900 for providing homenetwork content to a mobile device according to an implementationdescribed herein. In one implementation, process 900 may be performed bymedia client/DVR 122. In another implementation, some or all of process900 may be performed by media client/DVR 122 in conjunction with, forexample, mobile device 110, local router 124, or a another device withinor outside of home network 120.

Process 900 may include receiving state information from a mobile device(block 910). For example, as described above in connection with FIG. 5,media client/DVR 122 (e.g., connection manager 510) may receive stateinformation 440 from mobile device 110 that indicates a current channel,GUI, and/or other information currently being presented on mobile device110.

Process 900 may include converting the state information to transitioninformation for a home network (block 920), and sending the transitioninformation to the mobile device via a local wireless network (block930). For example, as described above in connection with FIG. 5, mediaclient/DVR 122 (e.g., connection manager 510 may translate stateinformation 440 into information that may be used by mobile device 110to switch to equivalent content (e.g., with higher quality) from homenetwork 120. For example, connection manager 510 may perform a channelmatching procedure to match the URL of a video stream (e.g., included instate information 440) with a particular channel associated with mediaplayer/DVR 122. Connection manager 510 may provide the translated stateinformation back to mobile device 110 (e.g., via a Wi-Fi connection toWi-Fi interface 400) as transition information 445.

Process 900 may include receiving a request for content based on thetransition information (block 940) and providing the requested contentfrom the home network to the mobile device via the local wirelessnetwork (block 950). For example, as described above in connection withFIG. 5, based on transition information 445, connection manager 510 mayreceive, from mobile device 110, content request 530 to provide contentto mobile device 110. Content request 530 may include, for example, aparticular channel to tune and/or a particular GUI to display. Videodelivery module 520 may provide the requested video content to mobiledevice 110 (e.g., via the Wi-Fi connection to Wi-Fi interface 400).

Systems and/or methods described herein may enable a mobile device todetect, and adapt operation modes, to provide higher quality servicesassociated with home network, in contrast with of services providedthrough an out-of-franchise network. The mobile device may include aunified client that can play multimedia content (e.g., including videocontent) in a full-featured mode provided via the home network and in amobile mode via an out-of-franchise network. In one implementation, themobile device may automatically discover home network service whereveravailable and may switch operation modes from streaming video contentvia a broadband cellular network to receiving the same video content(e.g., with a higher quality) from a home network device.

The foregoing description of implementations provides illustration anddescription, but is not intended to be exhaustive or to limit theinvention to the precise form disclosed. Modifications and variationsare possible in light of the above teachings or may be acquired frompractice of the invention.

For example, while series of blocks have been described with regard toFIGS. 6-9, the order of the blocks may be modified in otherimplementations. Further, non-dependent blocks may be performed inparallel.

It will be apparent that example aspects, as described above, may beimplemented in many different forms of software, firmware, and hardwarein the implementations illustrated in the figures. The actual softwarecode or specialized control hardware used to implement these aspectsshould not be construed as limiting. Thus, the operation and behavior ofthe aspects were described without reference to the specific softwarecode—it being understood that software and control hardware could bedesigned to implement the aspects based on the description herein.

Further, certain portions of the invention may be implemented as “logic”or a “component” that performs one or more functions. These componentsmay include hardware, such as a processor, an ASIC, or a FPGA, or acombination of hardware and software.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of the invention. In fact, many ofthese features may be combined in ways not specifically recited in theclaims and/or disclosed in the specification. Although each dependentclaim listed below may directly depend on only one other claim, thedisclosure of the invention includes each dependent claim in combinationwith every other claim in the claim set.

No element, act, or instruction used in the present application shouldbe construed as critical or essential to the invention unless explicitlydescribed as such. Also, as used herein, the article “a” is intended toinclude one or more items. Where only one item is intended, the term“one” or similar language is used. Further, the phrase “based on” isintended to mean “based, at least in part, on” unless explicitly statedotherwise.

What is claimed is:
 1. A method comprising: receiving, by a firstdevice, content, the content being received from a first network, thecontent being watched by a user of the first device; determining, by thefirst device and while receiving the content, if a second network isavailable, the second network being different than the first network;changing, by the first device and when the second network is available,at least one setting of the first device to establish a connection withthe second network, changing the at least one setting of the firstdevice including: transmitting first information, regarding the contentbeing watched by the user of the first device, to a second deviceincluded in the second network, receiving second information, regardingthe content, from the second device based on transmitting the firstinformation to the second device, and tuning to a channel identified bythe second information; receiving, by the first device and based onchanging the at least one setting, the content from the second network;and terminating, by the first device and based on changing the at leastone setting and receiving the content from the second network, aconnection to the first network.
 2. The method of claim 1, where thefirst network is a cellular network, and the second network is a homenetwork.
 3. The method of claim 1, where changing the at least onesetting includes: identifying the channel based on a channel identifierincluded in the second information.
 4. The method of claim 1, furthercomprising: activating, based on receiving the second information fromthe second device, a module, the module being associated with the firstdevice, and the module being implemented at least partially in hardware;receiving, based on activating the module, the content; and providing,for presentation, the received content using the identified channel. 5.The method of claim 1, further comprising: receiving, when the secondnetwork is not available, the content from the first network withoutreceiving the content from the second network.
 6. The method of claim 1,further comprising: receiving an instruction to switch to the secondnetwork; terminating, based on receiving the instruction, a connectionto the first network; establishing, after terminating the connection andwhen the second network is not available, the connection to the firstnetwork; and receiving, based on establishing the connection to thefirst network, the content from the first network without receiving thecontent from the second network.
 7. The method of claim 1, where thecontent is received from the second network using Wi-Fi.
 8. A devicecomprising: a memory to store instructions; and a processor to executethe instructions to: receive content, the content being received from afirst network, the content being watched by a user of the device;establish, based on determining that a second network is available, aconnection with the second network, the second network being differentthan the first network, and the processor, when establishing theconnection with the second network, is to change at least one setting ofthe device, the processor, when changing the at least one setting, isto:  transmit first information, regarding the content being watched bythe user of the device, to a second device of the second network, receive second information, regarding the content, from the seconddevice based on transmitting the first information, and  tune to achannel identified by the second information; receive, based onestablishing the connection with the second network, the content fromthe second network; and disable, based on changing the at least onesetting and receiving the content from the second network, a connectionto the first network.
 9. The device of claim 8, where the first networkis a cellular network, the second network is a home network, and thecontent is received from the second network using Wi-Fi.
 10. The deviceof claim 8, where the second information, received from the seconddevice, includes a channel identifier of the channel.
 11. The device ofclaim 8 where the processor is further to: identify, based on receivingthe second information, a channel associated with the content; andprovide, for presentation and based on tuning to the identified channel,the content.
 12. The device of claim 8, where the processor, whenchanging the at least one setting, is to: provide, for presentation, thecontent using the identified channel.
 13. The device of claim 8, wherethe processor is further to: receive, when the second network is notavailable, the content from the first network without receiving thecontent from the second network.
 14. The device of claim 8, where theprocessor is further to: receive an instruction to switch to the secondnetwork; terminate, based on receiving the instruction, a connection tothe first network; establish, after terminating the connection and whenthe second network is not available, the connection to the firstnetwork; and receive, based on establishing the connection to the firstnetwork, the content from the first network without receiving thecontent from the second network.
 15. A non-transitory computer-readablemedium storing instructions, the instructions comprising: one or moreinstructions which, when executed by a processor of a first device,cause the processor to: receive content, the content being received froma first network, the content being watched by a user of the firstdevice; establish, based on determining that a second network isavailable, a connection with the second network, the second networkbeing different than the first network, and the one or more instructionsto establish the connection with the second network including one ormore instructions to change at least one setting of the first device,the one or more instructions to change the at least one settingincluding one or more instructions to:  transmit first information,regarding the content being watched by the user of the first device, toa second device of the second network,  receive second information,regarding the content, from the second device based on transmitting thefirst information, and  tune to a channel identified by the secondinformation; receive, based on establishing the connection with thesecond network, the content from the second network; and terminate,based on changing the at least one setting and receiving the contentfrom the second network, a connection to the first network.
 16. Thenon-transitory computer-readable medium of claim 15, where the firstnetwork is a cellular network, and the second network is a home network.17. The non-transitory computer-readable medium of claim 15, where theone or more instructions to change the at least one setting include: oneor more instructions to identify the channel based on a channelidentifier included in the second information from the second device;and one or more instructions to provide, for presentation and based ontuning to the identified channel, the content.
 18. The non-transitorycomputer-readable medium of claim 15, where the one or more instructionsto change the at least one setting include: one or more instructions toprovide, for presentation and based on tuning to the channel, thecontent.
 19. The non-transitory computer-readable medium of claim 15,where the one or more instructions to receive the content include: oneor more instructions to stream the content using a cellular network. 20.The non-transitory computer-readable medium of claim 15, where theinstructions further include: one or more instructions to receive aninstruction to switch to the second network; one or more instructions toterminate, based on receiving the instruction, a connection to the firstnetwork; one or more instructions to establish, after terminating theconnection and when the second network is not available, the connectionto the first network; and one or more instructions to receive, based onestablishing the connection to the first network, the content from thefirst network without receiving the content from the second network.